In many situations, an output device such as a peripheral device or a printer is coupled to a document processing device, such as a personal computer or a workstation, that helps render an output job (such as a print job) that is output by the peripheral device (e.g. printed by the printing device). The document processing device generates one or more output jobs to be output by the peripheral device. The document processing device can execute different kinds of applications each of which can generate an output job that can be output by the peripheral device upon a demand for same by a user. Prior to initiation of the demand for output, the user can input data, edit the data, delete the data, etc. For example, the output jobs can be generated by one or more application programs (e.g. word processing programs, electronic mail programs, drawing programs, spreadsheet programs, desk top publishing programs, etc.) executed by the document processing device.
The output jobs may include any type of graphical elements or information supported by the peripheral device, including text, pictures, and so forth. The document processing device typically translates the output job into a language that is understood by the peripheral device. Where the peripheral device is a printer, the language can be Printer Control Language (PCL) or Postscript. A particular peripheral device may understand a single language, thereby requiring the processing device to translate the output job into that single language. This type of peripheral device requires an attached processing device to convert the raw output job data into a format (i.e., language) that is understood by the peripheral device.
Some peripheral devices are capable of processing output jobs in multiple languages. These peripheral devices are typically more complicated because they are required to identify, interpret and process output commands in several different languages. Although these peripheral devices are more complicated, they typically require an attached processing device to provide the output job and other output control information to the peripheral device. Another type of peripheral device contains its own output rendering engine that is capable of generating an output document from raw output job data. Although this type of peripheral device contains its own output rendering engine, it is typically coupled to a document processing device, such as a computer, to receive the raw output job data generated, for example, by an application running on the computer.
The document processing device, typically in home and office environments, consistently communicates to one or more of the same peripheral devices each time that an output job is to be output thereon. In other situations, such as in mobile computing, the document processing device must direct output to a peripheral device upon which output has not been previously directed by the document processing device. To do so, the document processing device must have specific software corresponding to the specific peripheral device upon which the output job is to be output. By way of example, a specific printer driver must be installed on a personal computer (PC) that corresponds to a specific printer so that a document can be printed on the printer by executing a printing function of a document processing application executing on the PC. In that there are a great variety of printers and corresponding printer drivers that can be encountered in mobile computing, it is not likely that a personal computer would have all printer drivers installed thereon so as to readily direct print jobs to all corresponding printers. In practice, a time consuming process is required in which a PC user must determine the type of printer that is to be printed to. Then, the PC user must locate and install a compatible printer driver on the PC that corresponds to the printer that the PC user wants to print on. This process must be repeated for each different kind of printer that the PC user needs to use. It would be advantageous to advance compatibility and ease of use between a document processing device and a peripheral device upon which an output job is to be output. Consequently, there is a need for improved methods, programs, and systems that can provide such a capability.